Methods and systems for telephony call completion

ABSTRACT

The present invention is directed to processing calls to busy and Do-Not-Disturb capable telecommunications lines. In one embodiment, the presence of a subscriber accessing a computer network over a first telephone line via a first computer terminal is detected, wherein the subscriber also has a first telephone station connected to the first line. When a caller calls the first line and the first line is busy, the call is forwarded to a second telephone line associated with a call manager system. The call manager system determines when the subscriber is no longer accessing the computer network. At least partly in response to determining that the subscriber is no longer accessing the computer network, the call manager system transmits a text message to the caller, the message including the subscriber&#39;s phone number. The caller can then call back the first line using the transmitted phone number.

PRIORITY CLAIM

The present application is a Continuation-In-Part of U.S. applicationSer. No. 13/615,333, filed Sep. 13, 2012, which is a continuation ofU.S. application Ser. No. 12/835,965, filed Jul. 14, 2010, which is acontinuation of U.S. application Ser. No. 11/942,565, filed Nov. 19,2007, now abandoned, which is a continuation of U.S. application Ser.No. 11/034,151, filed Jan. 12, 2005, now U.S. Pat. No. 7,308,081, whichis a continuation of U.S. application Ser. No. 10/029,509, filed Nov. 1,2001, now U.S. Pat. No. 6,879,677, the entirety of which is incorporatedherein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to methods and systems fortelecommunications, and in particular, to methods and systems forprocessing calls.

2. Description of the Related Art

Conventional corporate enterprise switching systems, such as PBXsystems, offer features to make the calling process more convenient. Onesuch feature, termed a callback or Camp-On feature, is used when acaller calls a telephone station that is busy. The callback processdetermines when the called telephone station is no longer busy and thencalls the caller and the called party. In particular, if the calledparty's telephone line is busy when called, the caller can, via a keypadcommand, instruct the enterprise telephone system to automatically callthe called party's telephone when the called party's telephone line isidle. The telephone system notifies the caller that the called party'stelephone is idle by ringing the caller's telephone in a unique manner.If the caller then answers the telephone, the called party's telephoneis automatically called and connected to the caller's telephone.

The callback feature relieves the caller from the aggravation and wastedtime resulting from repeated attempts to place a call to a busy line,hoping that the line will free up. Unfortunately, the techniques used toaccomplish the callback feature within an enterprise switching system,such as a PBX system, are not applicable to other telephone systems,such as cellular phone systems. Further, many conventional systems thatdo provide callback features outside of an enterprise system are verylimited in where they can be located. For example, these conventionalsystems may need be located at a local exchange of the calling party orbetween the calling party and the local exchange, and typically also areburdened with having to intercept all the caller's calls at the point oforigination. Further, these types of conventional systems require thatthe caller be a callback feature subscriber. Other conventional systemssimply repeatedly retry the called number in order to determine when thecalled line is idle, which is an inefficient use of telephony resources.In addition, in order to perform a callback, many conventional systemsare burdened with having to perform a call bridging operation. Hence,conventional telecommunications systems fail to offer the callbackfeature for many telephony applications.

As similarly described above, the techniques used to accomplish thecallback feature within an enterprise switching system are generallyapplied to a busy condition and not to a “Do-Not-Disturb” condition. Inaddition, the concept of a Camp-On feature in association with the“Do-Not-Disturb” condition is generally not applicable to othertelephone system, such as cellular phone systems or enhanced callprocessing services (e.g., Google Voice) that span one or more networksand/or network providers.

SUMMARY OF THE INVENTION

The present invention is related to methods and systems for providing acallback or camp-on notification to a caller in response to determiningthat a called busy line has transitioned to an idle state or a calledDo-Not-Disturb line has transitioned to an available state.

For example, a user may utilize a telephone line to access a network viaa dial-up connection. Upon performing the dial-up connection, the user'stelephone line will transition from an idle state to a busy state andwill not accept incoming calls. Instead, incoming calls are forwarded toa call processing system. By way of example, if a caller using awireless, text message-enabled telephone calls the user's telephoneline, the call will be forwarded to the call processing system. Based atleast in part on receiving the forwarded call, the call processingsystem determines that the user's phone line is busy. The callprocessing system may allow the caller to leave a voice message and/ormay inform the caller that the called line is busy.

The call processing system then determines when the user has ceasedaccessing the network. Upon determining that the user has ceasedaccessing the network, the call processing system infers that the user'stelephone line is now idle and transmits a corresponding text message tothe caller's wireless phone. The text message includes the user'stelephone number. The caller can proceed to call the now-idle telephoneline without having to renter the user's telephone number. Instead, thecaller can press a “send” key, a “talk” key, or the like, on thecaller's telephone and the telephone will automatically dial the user'sphone number. The call will then be completed. Advantageously, thecaller does not have to be a subscriber to the call processing system touse the callback notification process.

An example callback process in accordance with the present inventionwill now be described in greater detail. A call manager subscriber goesonline by accessing the Internet or other computer network. Thesubscriber can access the network using a dial-up connection via acomputer terminal equipped with a modem. This will result in thesubscriber's telephone line being busy. A client program executing onthe computer terminal logs onto a call manager system over the Internet.The client application provides an online presence indication (e.g., isthe device connected to the Internet) to the call manager system,enabling the call manager to determine that the subscriber is stillonline. To better manage incoming calls while the subscriber's telephoneline is busy, the subscriber's line is configured to have callsforwarded to the call manager system using a “Call Forward On Busy”function when the subscriber's line is busy. Optionally, the clientapplication can monitor the mobile device of the user for activityincluding, for example, movement of the device (e.g., usingaccelerometers, GPS tracking, Wi-Fi tracking etc.), call activity,Internet access of one or more web sites, etc.

A calling party calls the subscriber's phone line using, by way ofexample, a wireless telephone. Because the subscriber's line is busy,the calling party's call is forwarded to the call manager system over aPSTN along with corresponding signaling information. The signalinginformation includes the calling party's phone number derived throughSS7 signaling or by forwarding the call to a toll-free number. Becausethe calling party's call is being forwarded to the call manager system,the call manager system determines or infers that the subscriber's phoneline is busy.

The call manager system answers the calling party's call and optionallyinforms the caller that the called line is busy and/or allows thecalling party to record a voice message on the call manager system. Inaddition, the call manager system optionally asks the subscriber whethera camp-on request should be allowed or denied.

The call manager system determines when the subscriber has gone offline,that is, no longer accessing the Internet. The determination can bebased on a log-off message from the called party's computer terminalclient program, or on the failure of the client program to send anappropriate presence indication to the call manager system. If thesubscriber has gone offline, a notification is sent to the callingparty's calling station informing the calling party that the callingparty's call can now be completed. The message includes the caller'sphone number and other text and/or graphics, including instructions onhow to complete the call.

If the notification is to be provided as an SMS (short message service)alphanumeric message, then based on the calling number and using an SMSdatabase or other databases, such as a Local Exchange Routing Guide, thecall manager system determines if the calling number is associated witha wireless phone, such as a cellular phone. If the calling number isassociated with a wireless phone, the call manager determines thecarrier associated with the caller's calling station. SMS is a wirelessmessaging service that enables the transmission of alphanumeric messagesbetween mobile subscribers and external systems such as voice mailsystems, electronic mail system and paging systems.

If the call manager has determined that the calling party's station is awireless phone, the call manager infers that an email address associatedwith the caller is the caller's telephone number “@” the carrier name.For example, if the incoming call is from telephone number“310-555-5555” and is associated with a carrier “CarrierX, with theInternet domain “carrierx.com”, then it is inferred that the caller'semail address associated with the caller's cellular phone is3105555555@carrierx.com. The call manager system emails thenotification, including the called party's phone number, to the inferredor queried email address via SMS or other messaging system.

After receiving the notification, if the calling party enters theappropriate command the cellular phone automatically calls thesubscriber's number, and if the subscriber answers, the call iscompleted. The command may be entered via the cellular phone keypad key,such as the “talk” or “send,” or via a voice command if the phone isvoice command enabled. In another embodiment, upon detecting that thecalled party's line is free, the call manager system automaticallyinitiates a call bridging operation connecting the calling and calledparty.

Another embodiment of the present invention is an automated callbacksystem, comprising: at least a first instruction configured to detectthat a called party is accessing the Internet via a computer terminalusing a first line; at least a second instruction configured todetermine when the first line is busy, wherein the first line is busybecause the computer terminal is using the first line; at least a thirdinstruction configured to detect when the caller is using a wirelesstelephone to call the first line; at least a fourth instructionconfigured to determine when the first line is idle based at least inpart on determining that the computer terminal has ceased accessing theInternet; and at least a fifth instruction configured transmit a shortmessage service (SMS) callback notification via email to the wirelesstelephone at least partly in response to the at least fourth instructiondetermining that the first line is idle, the callback notificationincluding the called party's phone number.

Still another embodiment of the present invention is a method ofprocessing a telecommunications call, the method comprising: detecting apresence of a first subscriber communicating on a computer network via afirst computer terminal, wherein the first computer terminalcommunicates over the computer network using a first telecommunicationsline associated with a first telephone number; receiving a first callfrom a first caller calling via a wireless station, wherein the firstcall was initially directed to the first telecommunications line andthen forwarded to a second telecommunications line because the firsttelecommunications line is busy, wherein the first telecommunicationsline is busy because the first computer terminal is using the firsttelecommunications line; receiving signaling information associated withthe first call, the signaling information including at least a secondtelephone number, the second telephone number associated with thewireless station; determining when the first subscriber has ceasedcommunicating on the computer network using the first computer terminal;and transmitting to the wireless station a message at least party inresponse to determining that the first subscriber has ceasedcommunicating on the computer network, the message including aninstruction related to calling back the first telephone number.

Yet another embodiment of the present invention is a method ofprocessing a telecommunications call, the method comprising: detecting apresence of a first subscriber accessing a computer network via a firstcomputer terminal connected to a first telephone line; receiving from acalling telephone station a forwarded call intended by a caller for thefirst telephone line; receiving signaling information associated withthe forwarded call, the signaling information including at least atelephone number associated with the calling telephone station;providing an indication to the calling telephone station that the firsttelephone line is busy; determining when the first subscriber is nolonger accessing the computer network via the first computer terminal;and at least partly in response to determining that the first subscriberis no longer accessing the computer network via the first computerterminal, transmitting a first notification to the first caller, thefirst notification including callback information.

One embodiment of the present invention is a method of call processing,comprising: detecting that a first user is accessing a computer networkusing a first line; detecting that a second user is calling the firstuser when the first user's line is busy and the first user is accessingthe computer network; determining that the second user is calling usinga wireless station; detecting that the first user has ceased accessingthe computer network; and at least partially in response to detectingthat the first user has ceased accessing the computer network, enablingthe second user to call the first line via the wireless station using asingle key entry.

Another embodiment of the present invention is a call processing system,comprising: a first instruction configured to detect when a first useris accessing a computer network using a first line; a second instructionconfigured to detect when a second user is calling the first user whenthe first line is busy; a third instruction configured to determine thatthe second user is calling using a wireless station; a fourthinstruction configured to detect that the first user has ceasedaccessing the computer network; and a fifth instruction configured totransmit callback information to the wireless station at least partiallyin response to the fourth instruction detecting that the first user hasceased accessing the computer network.

Still another embodiment of the present invention is a method ofproviding line status information, comprising: receiving over a networkpresence information from a client application executing on a computersystem accessing a first telephone line; receiving on a second telephoneline a call intended by a caller to be connected to the first telephoneline, wherein the call was forwarded to the second telephone line atleast in part due to the computer system accessing the first telephoneline; determining that computer system has ceased accessing the firsttelephone line; and transmitting a text notification to the caller atleast partly in response to determining that computer system has ceasedaccessing the first telephone line.

Yet another embodiment of the present invention is a method of providingline status information, comprising: receiving over a network presenceinformation from a client application executing on a computer systemaccessing a first telephone line; receiving on a second telephone line acall intended by a caller to be connected to the first telephone line,wherein the call was forwarded to the second telephone line at least inpart due to the computer system accessing the first telephone line;determining that computer system has ceased accessing the firsttelephone line; and bridging a call between the first telephone line andthe caller at least partly in response to determining that computersystem has ceased accessing the first telephone line.

Another embodiment of the present invention is a calling system,comprising: a call manager system configured to receive presenceinformation from a client application executing on a computer systemaccessing a first telephone line, and configured to receive a forwardedcall intended by a caller to be connected to the first telephone line,wherein the call manager is further configured to determine that thecomputer system has ceased accessing the first telephone line and totransmit a notification to the caller at least partly in response todetermining that computer system has ceased accessing the firsttelephone line; and the client application, wherein the clientapplication is configured to provide the presence information to thecall manager system.

Yet another embodiment of the present invention is a method ofprocessing a call, the method comprising: receiving, at an enhancedservices platform, a request to activate Do-Not-Disturb on a first phoneaddress wherein the first phone address is associated with a first user;modifying a state of the first user's first phone address toDo-Not-Disturb; receiving, at the enhanced services platform, callsignaling information associated with a first call from a first callerplaced by the first caller using a first telephonic device, the firstcall intended for the first user; determining whether the telephonicdevice of the first caller is capable of receiving a text messageswherein the determination is based at least in part on a first caller'sphone address included in the call signaling information associated withthe first call; at least partly in response to determining that thetelephonic device of the first caller is capable of receiving a textmessage, presenting via a first user interface to the first callerduring the first call an option to receive a first notification typewhen the first phone address Do-Not-Disturb state changes; at leastpartly in response to receiving, at the enhanced services platform, thefirst notification type request wherein the first notification typerequest is associated with the first caller and the state of the firstuser's first phone address, storing the first notification type requestin non-transitory memory; receiving, at the enhanced services platform,a request to deactivate Do-Not-Disturb on the first phone address; atleast partly in response to receiving the Do-Not-Disturb deactivationrequest: modifying the state of the first user's first phone address toa status different than Do-Not-Disturb; transmitting, from the enhancedservices platform, a first notification type to the first telephonicdevice associated with the first caller, wherein the first notificationtype includes the first user's first phone address and enables, at leastin part, the first caller to initiate a second call to the first user'sfirst phone address; and, optionally, wherein the first phone address isa virtual phone address associated with the first user; and, optionally,wherein the state of the first phone address includes at least one of astate of Do-Not-Disturb, a state of Available, and a state of Busy; and,optionally, wherein the first notification type is an SMS message; and,optionally, wherein the first notification type is peer-to-peer textingservice; and, optionally, the method further comprising: providing asecond user interface to the first user for inhibiting firstnotification type transmission; and, optionally, wherein thepresentation via the first user interface includes an option for thefirst caller to press a first key if the first caller wants to receivethe first notification type; and, optionally, the method furthercomprising: receiving, at the enhanced services platform, call signalinginformation associated with a third call from a second caller placed bythe second caller using a second telephonic device, the second callintended for the first user; determining that a Do-Not-Disturb state ofthe first phone address is deactivated; generating an outbound call to atelephonic device associated with the first user; and, bridging thethird call with the outbound call; and, optionally, wherein the bridgingenables a two-way talk path between the second caller and the firstuser.

Yet another embodiment of the present invention is a method ofprocessing a call, the method comprising: providing via a first userinterface presented via a client software application running on amobile device of a first user an instruction to configure Do-Not-Disturbon a first phone address associated with the first user; receiving, atthe client software application, a request to activate Do-Not-Disturb ona first phone address wherein the first phone address is associated withthe first user; modifying a state of the first user's first phoneaddress to Do-Not-Disturb; receiving, at an enhanced services platform,call signaling information associated with a first call from a firstcaller placed by the first caller using a first telephonic device, thefirst call intended for the first user; determining whether the firsttelephonic device of the first caller is capable of receiving a textmessages wherein the determination is based at least in part on a firstcaller's phone address included in the call signaling informationassociated with the first call; at least partly in response todetermining that the first telephonic device of the first caller iscapable of receiving a text message, presenting via a second userinterface to the first caller during the first call an option to receivea first notification type when the first phone address Do-Not-Disturbstate changes; at least partly in response to receiving, at the enhancedservices platform, the first notification type request wherein the firstnotification type request is associated with the first caller and thestate of the first user's first phone address, storing the firstnotification type request in non-transitory memory; receiving, at theclient software application, a request to deactivate Do-Not-Disturb onthe first phone address; at least partly in response to receiving theDo-Not-Disturb deactivation request: modifying the state of the firstuser's first phone address to a status different than Do-Not-Disturb;and transmitting, from the enhanced services platform, a firstnotification type to the first telephonic device associated with thefirst caller, wherein the first notification type includes the firstuser's first phone address and enables, at least in part, the firstcaller to initiate a second call to the first user's first phoneaddress; and, optionally, wherein the first phone address is a virtualphone address associated with the first user; and, optionally, whereinthe state of the first phone address includes at least one of a state ofDo-Not-Disturb, a state of Available, and a state of Busy; and,optionally, wherein the first notification type is an SMS message; and,optionally, wherein the first notification type is peer-to-peer textingservice; and, optionally, the method further comprising: providing viathe first user interface a control enabling the first user to inhibitthe first notification type transmission; and, optionally, wherein thepresentation via the second user interface includes an option for thefirst caller to press a first key if the first caller wants to receivethe first notification type; and, optionally, the method furthercomprising: receiving, at the enhanced services platform, call signalinginformation associated with a third call from a second caller placed bythe second caller using a second telephonic device, the second callintended for the first user; determining that a Do-Not-Disturb state ofthe first phone address is deactivated; generating an outbound call tothe mobile telephonic device associated with the first user; andbridging the third call with the outbound call; and, optionally, whereinthe bridging enables a two-way talk path between the second caller andthe first user; and, optionally, the method further comprising:downloading the client software application to a mobile device of thefirst user. Yet another embodiment of the present invention is a system,the system comprising: an enhanced services platform, including at leastone processing device; instructions stored on non-transitory media thatwhen executed by the enhanced services platform, cause the enhancedservices platform to perform operations, comprising: providing via afirst user interface presented via a client software application runningon a mobile device of a first user an instruction to configureDo-Not-Disturb on a first phone address associated with the first user;receiving, at the client software application, a request to activateDo-Not-Disturb on a first phone address wherein the first phone addressis associated with the first user; modifying a state of the first user'sfirst phone address to Do-Not-Disturb; receiving call signalinginformation associated with a first call from a first caller placed bythe first caller using a first telephonic device, the first callintended for the first user; determining whether the first telephonicdevice of the first caller is capable of receiving a text messageswherein the determination is based at least in part on a first caller'sphone address included in the call signaling information associated withthe first call; at least partly in response to determining that thefirst telephonic device of the first caller is capable of receiving atext message, presenting via a second user interface to the first callerduring the first call an option to receive a first notification typewhen the first phone address Do-Not-Disturb state changes; at leastpartly in response to receiving the first notification type requestwherein the first notification type request is associated with the firstcaller and the state of the first user's first phone address, storingthe first notification type request in non-transitory memory; receiving,at the client software application, a request to deactivateDo-Not-Disturb on the first phone address; at least partly in responseto receiving the Do-Not-Disturb deactivation request: modifying thestate of the first user's first phone address to a status different thanDo-Not-Disturb; and transmitting a first notification type to the firsttelephonic device associated with the first caller, wherein the firstnotification type includes the first user's first phone address andenables, at least in part, the first caller to initiate a second call tothe first user's first phone address.

Thus, the present invention provides systems and methods for a callbackprocess that can be used with PSTN systems, wireless stations and theInternet, to thereby greatly facilitate call completion.

BRIEF DESCRIPTION OF THE DRAWING

These features will now be described with reference to the drawingssummarized below. These drawings and the associated description areprovided to illustrate preferred embodiments of the invention, and notto limit the scope of the invention.

FIG. 1 illustrates an example telecommunications system in accordancewith one embodiment of the present invention.

FIG. 2 illustrates an example message communication system.

FIG. 3 illustrates an example callback process in accordance with thepresent invention.

FIG. 4 illustrates and example process of sending an SMS message.

FIG. 5 illustrates an example callback notification.

FIG. 6 illustrates a second example telecommunications system.

FIGS. 7-8 illustrate the operating environment process of a secondexample callback process.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention is related to methods and systems for detectingand notifying a caller when a called busy telecommunications linetransitions from a busy state to an idle state. In particular, oneembodiment of the present invention advantageously provides a callbacknotification system for wireless communication devices, such as cellularphones, as well as for wireline communication devices.

For example, when a user utilizes a telephone line to access a computernetwork via a dial-up connection, the telephone line will transition toa busy state and will not accept incoming calls. Instead, the line canbe provisioned through the local phone company to forward incoming callsto a call processing system. By way of example, if a caller using awireless, text message-enabled telephone calls the user's telephoneline, the call will be forwarded to the call processing system. Based atleast in part on receiving the forwarded call, the call processingsystem determines that the user's phone line is busy.

The call processing system then determines when the user has ceasedaccessing the computer network. Upon determining that the user hasceased accessing the computer network, the call processing system infersthat the user's telephone line is now idle and transmits a correspondingtext message to the caller's telephone. The text message includes theuser's telephone number. The caller can proceed to call the now-idletelephone line without having to re-enter the user's telephone number.Instead, the caller can press a “send” key, a “talk” key, or the like,on the caller's telephone and the telephone will automatically dial theuser's phone number. The call will then be completed. Thus, utilizingthe present invention, the caller is spared from having to repetitivelyattempt to call the user in the hopes that the called line will free up.Further, the caller advantageously does not have to be a registered userof the call manager system or of the callback function. Variousembodiments of the invention are discussed in greater detail below.

Throughout the following description, the term “Web site” is used torefer to a user-accessible network site that implements the basic WorldWide Web standards for the coding and transmission of hypertextualdocuments. These standards currently include HTML (the Hypertext MarkupLanguage) and HTTP (the Hypertext Transfer Protocol). It should beunderstood that the term “site” is not intended to imply a singlegeographic location, as a Web or other network site can, for example,include multiple geographically distributed computer systems that areappropriately linked together. Furthermore, while the followingdescription relates to an embodiment utilizing the Internet and relatedprotocols, other networks, such as networked interactive televisions,and other protocols may be used as well. In addition, unless otherwiseindicated, the functions described herein are preferably performed byexecutable code and instructions running on one or more general-purposecomputers. However, the present invention can also be implemented usingspecial purpose computers, state machines, and/or hardwired electroniccircuits. In addition, a communications line is referred to as “busy”when the communication line is being utilized in such a way that aconventional incoming call will not be connected to the communicationsline. Thus, for example, if a user is utilizing a conventional linecapable of only conducting one of a conventional voice session and adata session, but not both at the same time, for a data session, theline will be busy. In addition, a communications line is optionallyreferred to as being in a “Do-Not-Disturb” state when the user and/orsystem is configured not to direct live inbound calls to the calledparty at least partly in response to the called party providing a “donot disturb” instruction. Thus, for example, if a user's phone addressis in a Do-Not-Disturb state, calls to the user's phone address areoptionally directed, for example, to voice mail instead of to atelephonic device of the user including for example, the user's cellphone, smart phone, mobile computing device, personal computer, etc.

FIG. 1 illustrates an example telecommunications system 100 that can beused in accordance with the present invention. As illustrated, thetelecommunications system 100 includes a plurality of users havingcorresponding telephone physical lines or wireless “lines” connected totelephone stations 102-108. The telephone stations can be wireless, suchas stations 102, 104, or wired, such as stations 106, 108. The wirelessstations 102, 104 can be, for example, CDMA wireless phones, smartphones, mobile computing devices, VoIP devices, or fixed computingdevices, or other types of telephonic device. The wired stations 106,108 are connected via telephone lines 118, 120 to a PSTN 114 configuredto process calls from fixed or standard telephone stations. The wiredstations 106, 108 can be conventional POTS (Plain Old Telephone System)telephones, text-message enabled phones, or fixed computing devices(e.g., a user's personal computer).

The telephone lines 118, 120 may be shared with one or more computerterminals 110. The computer terminal 110 can be a personal computerhaving a monitor, keyboard, a disk drive, and a modem, such as astandard V.90 56K dial-up modem. The modem can optionally be configuredto dial-up a number under control of an application, such as a contactmanager application or telecommunications client application phonedialer, stored and executing on the computer terminal 110. In addition,the computer terminal 110 can be an interactive television, anetworked-enabled personal digital assistant (PDA) or the like. Residingand executing on the computer terminal 110 is a soft switchtelecommunications client application or a general purpose callprocessing software application (App) 112. The client application 112 isused to provide enhanced communication services, as discussed in greaterdetail below. The client application optionally is downloadable from aweb site (e.g., a web server 600, illustrated in FIG. 6, of the clientApp provider) to a fixed or mobile device of the user. Optionally, theclient application is preinstalled on the fixed or mobile device of theuser. The client application 112 is connected to and communicates with acall manager system 124 via the Internet 126 or the like. The callmanager 124 includes a server-based session manager subsystem 130 thatmaintains session status across the client sessions.

In addition, the computer terminal 110 can be equipped with VoIP (Voiceover Internet Protocol) software 138 and a handset 140, including amicrophone and speaker, allowing voice communications to be conductedover the Internet 126 using Internet Protocol. VoIP communicates datavia packet switching, which opens a connection just long enough to senda packet of data, including digitized voice data. In particular, thecomputer terminal 110 divides the voice data into small packets. Eachpacket includes a destination address informing the network where tosend the packet. If the receiving station is also a VoIP terminal, thenwhen the receiving terminal receives the packets, VoIP softwareexecuting on the receiving terminal reassembles the packets into theoriginal data stream. The data stream is then converted to a voicesignal. If the receiving station is a conventional telephone, then aVoIP gateway converts the packets into a voice signal which is thenconnected to the conventional telephone.

In one embodiment, the VoIP process is performed using the H.323standardized protocol established by the InternationalTelecommunications Union (ITU). Advantageously, H.323 providesspecifications for real-time, interactive videoconferencing, datasharing and audio applications such as IP telephony. Alternatively, theSession Initiation Protocol (SIP), established by the InternetEngineering Task Force (IETF), can be used. SIP is generally moreefficient than the H.323 protocol as SIP is specifically intended for IPtelephony.

The telephone lines 118, 120 can be used to establish a dial-upconnection for computer terminals, such as terminal 110 via the modem,to an Internet Service Provider (ISP).

In particular, the telephone stations 106, 108 and/or computer terminal110 are coupled via the fixed PSTN 114 to corresponding local exchangeswitches 136, 142, used to connect and route calls, and to and fromlocal exchange switches and remote exchanges via tandem switchingoffices of the fixed PSTN 114. The telephone stations 106, 108 areconnected to a telephone server system 122 in the call manager system124, via the fixed PSTN 114 through a trunk system 134. Thus,advantageously the call manager system 124 does not have to be coupledto the same local exchange as the calling or called terminal. Indeed,the call manager system 124 can be located in a different country thanthe called and calling parties. This provides much greater flexibilitythan many conventional systems offering some type of callback function,which have to be located between the calling station and the callingstation's local exchange.

The call manager system 124 optionally hosts a Web site used bysubscribers of the call manager system 124 to setup and manage theiraccounts and hosted on one or more web servers, such as the web serverillustrated in FIG. 600. Other embodiments of the call manager system122 are described in U.S. patent application Ser. No. 09/539,375, filedMar. 31, 2000, the contents of which are incorporated herein in theirentirety by reference. The call manager system 122 is optionallyconfigured as, or to appear as, a telephone central office and caninterface with the PSTNs 114, 116 as a Class 5 switch.

The telephone trunk system 134 has associated signaling channels. Thepresent invention is not limited to a particular signaling convention.For example, as illustrated, the present invention can be utilized witha Common Channel Signaling system, such as Signaling System 7 (SS7),having separate voice/user data and signaling channels. In addition, thepresent invention can be used with other signaling methods, such asISDN, Advanced Intelligent Network (AIN), and/or inband signaling. Theselected signaling system provides caller identification, wherein thecaller's telephone number is provided to the called party. Thus, forexample, ANI (Automatic Number Identification) information is provided,wherein the caller's local telephone company transmits the calling orbilling telephone number along with the call.

The wireless stations (e.g., smartphones or other mobile devices) 102,104 are coupled to a PSTN 116, which includes the wireless mobilenetwork, configured to handle mobile, wireless stations via wirelesscommunications towers configured to broadcast and receive cellular radiofrequency communications. The wireless towers can be, for example, CDMAor GSM cellular mobile base stations. The PSTN 116, in turn, isconnected to the call manager system 124 via the trunk system 134. Thecall manager system 124 can communicate via the Internet mobile 128 withother Internet capable devices, including wireless stations 102, 104,configured to receive Internet communications, including, but notlimited to, text messages. With reference to FIG. 6, optionally, thecollection of servers (e.g., presence server 130, telephone server 122,and/or web server 600) included in the call manager system/enhanced callprocessing system 124 are interconnected through Data Networks 126 andwireless data networks 128 (e.g. the public Internet and wireless datanetwork—as depicted by the dotted line connections in FIG. 6) and/or viaa private Local Area Network (LAN) or private Wide Area Network (WAN)450. Optionally, application data and customer account information isstored in one or more customer account databases 700.

When a user attempts to place a call via station 102 to station 108, thecall is routed through a mobile base station system to the PSTNs 114,116. If the line 120 for station 108 is busy, the PSTN 114 forwards thecall to a local or toll-free number associated with the call managersystem 124. The call manager 124 then processes the call as described ingreater detail below. This is in contrast to many conventional systemsproviding a callback feature, wherein these conventional callbacksystems must be positioned between the calling terminal and the callingterminal's local exchange and then must intercept calls from the callingterminal. By contrast, one embodiment of the present invention canoptionally be located remotely from the local exchange switch and doesnot have to be positioned between the local exchange switch and thecalling station.

FIG. 2 illustrates an example message communication system 200 used tocommunicate text messages between the call manager system 124 and SMS(short message service) enabled stations, such as the wireless stations102, 104. SMS is a wireless messaging service that enables thetransmission of alphanumeric messages between mobile subscribers andexternal systems such as voice mail systems, electronic mail system andpaging systems. Of course other messaging protocols, such as theWireless Application Protocol (WAP), can be used with appropriatelyequipped wireless stations. Advantageously, WAP enables wireless devicesto display and use hypertext documents and provides wireless Internetaccess via a minibrowser executing on the wireless device.

The wireless stations 102, 104 communicate via a base station system(BSS) 202 to a mobile switching center (MSC) 204 to the SS7 signalingnetwork 206. A visitor location register (VLR) database 208, containingtemporary subscriber information, is coupled to the MSC 204 via the SS7signaling network 206. The VLR database 208 includes temporaryinformation concerning the mobile subscribers that are currently locatedin a given MSC serving area, but whose Home Location Register (HLR) 212is stored outside the MSC serving area.

A short message service center (SMSC) 214, configured to store andforward messages between a mobile station, such as the wireless stations102, 104 and other SMS enabled entities, is coupled to the SS7 signalingnetwork 206 via an SMS mobile switching center gateway 210. The SMSmobile switching center gateway 210 queries the HLR database 212 forrouting information and delivers text messages. The HLR database 212contains mobile subscriber information for the wireless carriers'subscribers. HLR subscriber information includes a unique subscriberidentifier, service subscription information, location information,including the identity of the current VLR, to enable the routing ofmobile-terminated calls, and other service information.

The call manager system 124 manages communications with the clientapplication 112. If the call manager 124 requests that the user enterscommands via touch tone entries, the call manager system 124 optionallyrecords and stores a log of the touch-tone entries. The call managerrequests can be in the form of voice prompts that guides the user tothrough the appropriate callback options. In addition to providing thecallback function, the call manager system 124 can be configured toperform additional functions, such as acting as a telephone answeringsystem that answers call, plays outgoing messages and records incomingmessages.

One such Internet answering system is operated by CallWave, Inc. As iswell known in the field of Internet telecommunications, CallWave, Inc.provides an Internet digital answering service that works with the “CallForward On Busy” feature of a standard phone line to answer calls whilethe subscriber is online and is using the phone line to access theInternet. Once activated, callers no longer get annoying busy signalswhen the subscriber is online. Instead, callers hear a brief greetingafter which they can leave a short message. The recording can bestreamed in substantially real-time or sent within seconds afterrecording has completed to the subscriber over the Internet.

The call manager system 124 is connected to the Internet 126, 128 as acomputer host. As previously discussed, the call manager system 124 canalso host a Web site used to manage subscriber accounts. When a user orsubscriber connects to the Internet using, for example, a dial-up ISP,the telecommunications client application executing on the subscriber'scomputer terminal can make the subscriber's online presence known to thecall manager system 124. In particular, the call manager system 124includes a presence detection system 130 that communicates with theclient application 112 executing on the computer terminal 110 todetermine whether the computer 112 is online. Presence detection can beperformed by the presence detection system 130 polling or pinging thecomputer terminal 110 via the client application 112, or by the clientapplication transmitting an “I'm alive” message and subsequent periodic“keep alive” messages to the presence detection system 130.

A user can access a data network, such as the Internet 126, byestablishing a telephone dial-up connection to an ISP. The Internet 126is coupled to the PSTNs 114, 116, via a trunk or backbone system 132.Text, graphic and voice communications can be communicated between thecall manager system 122 and the computer terminal 110. For example,communications are transmitted from the call manager system 122 over thePSTN 114, via the trunk system 132 to the computer terminal 110 via theInternet 126. Similarly, communications are transmitted from thecomputer terminal 110, over the Internet 126, through trunk system 132to the telephone and presence servers 122, 130. The user is preferably aregistered subscriber to the call manager system 124.

FIG. 3 illustrates an example callback process 300 for a calling party,referred to as Party B, and a called party, referred to as Party A.Beginning at start state 302, the process 300 proceeds to state 304. Atstate 304, Party A goes online by accessing the Internet via a computerterminal. As similarly discussed above, Party A may be using a computerterminal, such as terminal 110 illustrated in FIG. 1, to access thecomputer network, such as the Internet 126 or a private Wide AreaNetwork (WAN). If Party A has a call waiting feature, in this examplethe call waiting feature is turned off for the current network accesssession. This ensures that the network access by the computer terminalis not interrupted by an incoming call. Thus, if someone attempts tocall Party A's line during the network accession, the line will be busy.

A client program, such as the telecommunications client application 112discussed above, executing on the computer terminal logs onto the callmanager system over the Internet. Information that may be communicatedas part of the logon process includes one or more of the user's accountnumber, IP address, and other user attributes. It is assumed that PartyA's line is configured to have calls forwarded by Party A's localexchange using a “Call Forward On Busy” function. The calls areforwarded to a call manager system, such as call manager system 124discussed above, when the line is busy. At state 306, thetelecommunications client application provides an online presenceindication to the call manager system.

At state 308, Party B calls Party A's phone line using, by way ofexample, the wireless station 102 or 104. At state 310, Party B's callis forwarded to the call manager system over the PSTN, such as PSTN 114,along with signaling information. The signaling information includesParty B's phone number. Optionally, if Party A does not have callingforwarding activated, Party B can directly dial the call manager systemvia a local or toll free number and the call manager system will answerthe call and receive the signaling information, including Party B'sphone number.

At state 312, the call manager system answers Party B's call.Optionally, Party B can record a voice message on the call managersystem. If Party A is still online, at state 314 the call manager systemoptionally notifies Party A of Party B's call and transmits or streamsthe voice message, if any, from Party B. The notification can beprovided in substantially real-time via the telecommunications clientapplication and displayed on the computer terminal monitor. Inparticular, the call manager can transmit the notification over theInternet to the telecommunications client application and to Party A'scomputer terminal for display. The voice message can be streamed overthe Internet to the computer terminal at the same time the notificationis displayed by the telecommunications client application.

Alternatively, the call manager looks up Party A's email address in asubscriber database and then emails the notification and voice messageto Party A's email address. The notification can also be provided usingan instant messaging system or a web page banner. The notificationoptionally includes Party B's phone number. In addition, the callmanager can access a reverse number database or a contact databaseassociated with Party A to locate a name or other identifier associatedwith Party B's phone number. If a corresponding name or other identifieris located, it can be included in the notification provided to Party A.

Optionally at state 315, Party A is asked if he or she wants to declineto have a notification provided to Party B's once Party A frees up theline. If Party A does decline to have the notification provided to PartyB, the automated callback notification process is terminated at state332, though any recorded voice message from Party B can still betransmitted to Party A. If Party A agrees to have the notificationprovided to Party B, the process proceeds from state 315 to state 316.

If more than one call comes in when while Party A's line is busy, amessage listing all the calls missed during the Party A's current onlinesession is transmitted to Party A's computer terminal. Party A can thenselect from the list, which caller or callers are to receive anotification once Party A goes offline. A message is optionallytransmitted to the other, non-selected callers informing them that aline-idle notification will not be provided. Party A can still listen tomessages left by all the callers.

Party A can also be provided the option to connect immediately to PartyB via a handset coupled to the computer terminal using VoIP softwareexecuting on the computer terminal or via a conventional telephone. Thecomputer terminal's modem dials the call manager system via theconventional PSTN, and the call manager then bridges the two calls.

A message is optionally sent to Party B, asking if Party B would like tobe notified when Party A's line is idle. The message can be provided asa voice, text, or graphic message that instructs Party B on how toprovide a response. If the notification is to be provided as an SMSalphanumeric text message, then at state 316, based on the callingnumber and using an SMS database or other databases, such as the LocalExchange Routing Guide, the call manager system determines if thecalling number is associated with a cellular phone or a conventionaltelephone station and the carrier associated with the caller's callingstation. The Local Exchange Routing Guide (LERG) provides informationfrom Local Exchange Carrier to Inter-exchange carriers for routing andtrunking between networks based on a number's area code and prefix. Withthe increasing popularity of SMS (short message service), in oneembodiment the call manager assumes or determines at state 318 that thecalling station is SMS enabled and that the SMS function is activated.

If the call manager has determined that Party B's calling station is anSMS enabled station, the call manager infers that an email addressassociated with the caller is the caller's telephone number “@” thecarrier name. For example, if the incoming call is from a number“310-555-5555” and is associated with a carrier “CarrierX,”, with theInternet domain “carrierx.com”, then it is inferred that the caller'semail address associated with the caller's cellular phone is3105555555@carrierx.com. In another embodiment, using the ENUM protocol,Party B's phone number is mapped directly to the calling station's emailaddress. ENUM is an Internet Engineering Task Force (IETF) protocol (RFC2916) that resolves fully qualified telephone numbers to fully qualifieddomain name addresses using a DNS-based architecture. At state 320, thecall manager system optionally emails a message to the inferred emailaddress via SMS or other messaging system. The message provides Party Bwith the option for having a callback notification transmitted to PartyB when Party A's line becomes idle.

For example, Party B can optionally be instructed by the message topress a “#” key on Party B's calling station keypad if Party B wants tobe notified when the subscriber's line goes idle, and to press a “*” keyif Party B does not want to be notified when the subscriber's line goesidle. In another example embodiment, Party B provides a voice indicationas to whether Party B is to be notified when the subscriber's line goesidle. Assuming that Party B requests notification, Party B'snotification request is logged by the call manager system at state 322.Otherwise, if Party B declines to be notified, Party B is offered theoption to leave a voice message, which will be recorded by the callmanager for later playback to the subscriber. The action of notifyingcalling Party B is independent of whether Party B did or did not leave amessage. Thus, for example, Party B may first be offered the option ofrecording a voice message, and then asked if an idle line notificationis to be sent.

At state 324, the call manager system determines if Party A has goneoffline, that is, no longer accessing the Internet. The determinationcan be based on the failure of the telecommunications client applicationto send an appropriate presence indication to the call manager system orbased on the telecommunications client application transmitting alog-off message. If Party A has gone offline, at state 326 anotification is sent to Party B's calling station informing Party B thatParty B's call can now be completed. The message includes the callingparty's phone number, and optionally the Party A's name and text and/orgraphics informing Party B that Party A's line is now free.

A determination is made at state 328 by software executing on Party B'scalling station as to whether Party B wants to be connected to Party A.If Party B responds in the affirmative, via a keypad button, such as the“talk” key, the “send” key, or via voice commands, then at state 330 thecalling station automatically calls Party A's number using the phonenumber provided in the message, and if Party A answers, the call iscompleted. The process ends at state 332.

In another embodiment, rather than transmitting the message at state 320and receiving the response at state 322, the call manager systemautomatically proceeds to state 324 and transmits the notification atstate 326. In still another embodiment, rather than send another messageto Party B at state 326 and performing the determination at state 328,the callback is automatically initiated by the call manager using abridging operation after determining that Party A has gone offline.Alternatively, rather than send another message to Party B at state 326and performing the determination at state 328, the callback isautomatically initiated by the call manager using a call bridgingoperation after determining that Party A has gone offline. The callmanager system first calls Party B's phone number Next, the call managersystem calls Party A's line and bridges Party A with Party B. Otherbridging techniques which are well known to those of ordinary skill inthe industry, and hence not explained in detail herein, can be used aswell. Advantageously, in one embodiment a calling party does not have tobe a subscriber to the call manager system and does not have to payextra or register to have the callback function performed using theprocess 300.

FIG. 4 illustrates in greater detail the notification delivery processof state 326 using SMS. If Party B's calling station is a mobile, SMSenabled station, then the message is sent to the calling station asfollows. The message is sent by the call manager system to theappropriate email address at state 402. The message is then transmittedto a short message service center (SMSC), such as SMSC 214 illustratedin FIG. 2, at state 404. At state 406, the SMSC performs a routinginformation request by querying a home location register (HLR) database,such as HLR 212, and receives routing information, includingidentification of a service mobile switching center for the mobilecalling station. At state 408, the SMSC transmits the message to amobile switching center (MSC), such as MSC 204, using a point-to-pointforward short message operation.

The MSC accesses calling station information at state 410 from a visitorlocation register (VLR) database, such as VLR 208. The MSC thentransmits the message to Party B's calling station via a base stationsystem (BSS), such as BSS 202, at state 412. The MSC provides the SMSCthe forward message operation status at state 414. If the forwardmessage operation was not successful, a retry operation can beperformed. If the status indicates that Party B's station is not SMSenabled, the call manager system logs this information in a callerdatabase at state 416. In one embodiment, the status of returned emailis tracked. For example, if an email is “bounced” or returned with an“address unknown” status, this information is stored in a call managerdatabase so that for future calls placed from Party B's calling station,the call manager system will not attempt to send SMS text messages toParty B's calling station. If an email to an address is “bounced”returned with a “mailbox full” status message, this information islogged and the status is treated as a transient case, wherein the callmanager will attempt to send future emails to that address. In addition,if an email notification is bounced, the called party is optionally sonotified so that Party A will not expect a callback from Party B.

Optionally, certain Peer-to-Peer (PtoP) texting services can be used tosend a notification. Optionally, these PtoP texting services arepreinstalled on a user's mobile device and/or rely upon the user todownload an application over a data network (e.g., Internet) to theirfixed and/or mobile device. An example texting App is iMessage™ fromApple.

FIG. 5 illustrates an example callback message displayed on a cellularphone 500. A display 502 displays the callback message received by thephone 500 via the SMS system. The display optionally includes Party A'sname as determined from registration information stored in a userdatabase. The message instructs the user to press the “talk” key 504 toinitiate the callback process. Of course, the message may requestdifferent types of responses, including requesting activation ofdifferent keys or verbal responses.

Certain enhanced call processing systems provide users with one or morephone numbers/phone addresses which calls can be placed to. These phonenumbers/phone address are sometimes referred to as virtual numbers.Calls can be directed to these phone numbers from wireline and/orwireless network environments and associated fixed and mobile dataterminal devices. Referring to FIG. 6, calls directed to such virtualnumbers route through their respective networks and are received by thenetwork interfacing enhanced call processing system 124. Optionally, inresponse to an inbound call, the enhanced call processing system 124generates one or more outbound calls to one or more devices of the userand bridges the inbound call from the caller with the outbound call tothe user. For example, Party A places a call to Party B's virtualnumber. The call routes through the PSTN 114 and is received by theenhanced call processing system 124. In this example, the enhanced callprocessing system 124 detects the received call but does not immediatelyanswer the call. The enhanced call processing system 124 places anassociated outbound call to the user (e.g., the user's mobile device)and upon answer by the user optionally plays one or more voice promptsdescribing the inbound call and requesting a user action (e.g., thesystem may announce “Call from Sally, press or say 1 to connect, pressor say 2 to send to voice mail, etc.). Optionally, the user takes anaction in response to the announced call. For example, the user mayinstruct the enhanced call processing system 124 to connect the call tothe user's mobile device, direct the call to a different number, directthe call to voice mail, etc. Optionally, if the user instructs theenhanced call processing system 124 to connect the call, the enhancedcall processing system 124 forms a connection (e.g., a two-way talkpath), such as by bridging the inbound call with the outbound call. Theenhanced call processing system 124 optionally provides other services,including camp-on notification services, as described in greater detailbelow. Advantageously, the calling party and the user (called party) donot have to be within the same switch, same local exchange switchingnetwork, and/or same wireless network provider.

Optionally, the enhanced call processing system 124 provides a“Do-Not-Disturb” feature. In general, an example embodiment of theDo-Not-Disturb feature enables the user (called party) to monitor and/ordirect their incoming calls without answering the calls. For example, auser might activate the Do-Not-Disturb feature when s/he is in animportant meeting. Optionally, as described above, the inbound call canbe manually or automatically directed to another user/phone addressspecified by the user. Optionally, the call can be manually orautomatically directed to voice mail, and the enhanced call processingsystem 124 may answer the call, and record a message from the caller forthe user. Optionally, if the call is answered with voice mail by theenhanced call processing system 124, the user can “screen” the call bylistening as the voice mail is being left by the caller on a half duplexconnection, wherein the enhanced call processing system 124 streams themessage being recorded to a user device.

Optionally, the enhanced call processing system can inform the caller ofthe user's Do-Not-Disturb condition. Optionally, the enhanced callprocessing system does not provide the caller with the user'sDo-Not-Disturb/Busy/Unavailable call state (e.g., whether the phone lineis busy, Do-Not-Disturb, mobile device turned off or inactive, lack ofactivity or presence of the user's device, etc.). Optionally, theenhanced call processing system presents a camp-on option when the useris unavailable to take their call. Optionally, when the caller hasrequested a camp-on, upon a user's state changes from Do-Not-Disturb to,for example, available, the system determines from the calling party'sphone number/phone address a destination to notify the user. Theenhanced call processing system, as described further below, notifiesthe caller of the user's availability and facilitates a call-back (e.g.,provides the calling party with the user's phone number).

FIGS. 7-8 depict an example embodiment where a user is in a meeting withDo-Not-Disturb activated, receives a call, and the caller receives anSMS text notification when the user de-activates Do-Not-Disturb afterthe meeting has concluded. In this example, the user, John, issubscribed to an enhanced call processing system which provides virtualnumber services, Do-Not-Disturb features, and associated Camp-On typefeatures. The caller Sally is not a subscriber to the virtual numberservice.

State 1.

John enters an important meeting at work. John selects a control on hiscall management App 112 running on his smartphone 102 which activatesthe Do-Not-Disturb feature.

State 2.

The call management App 112 receives John's instruction and transmits,for example over a data network 126, the request to an enhanced callprocessing server 124 which receives and manages John's inbound calls.

State 3.

The enhanced call processing server 124 activates the Do-Not-Disturbfeature. In this example, John has previously configured hisDo-Not-Disturb feature to allow the enhanced call processing server 124to allow Callers to Camp-On.

State 4.

Sally places a call from her cell phone 104 to John while John is in themeeting. The call is received by the enhanced call processing server124.

State 5.

The enhanced call processing server determines how to handle the call bylooking up the called number in a database 700 associated with theenhanced call processing server 124. In this example, the enhanced callprocessing server 124 also determines whether Sally can receive a textnotification by performing a database lookup using the received callerID.

State 6.

The enhanced call processing server 124 transmits over a wireless datanetwork 116 a user call notification to the call management App 112running on John's smartphone 102.

State 7.

The call management App 112 receives the user call notification andprovides a notification to John, in this example a gentle vibration ofhis mobile device. In this example, the App displays information aboutSally including Sally's Caller ID and one or more call treatment options(e.g., let the call ring and do not answer, send to voice mailimmediately, I'll take the call in screening mode, do not provideCamp-On option, etc.). In this example, John takes no action.

State 8.

In this example, the default call handling instruction is to send thecall to voice mail and it is further determined in State 5 that theinbound call from Sally originated from her text capable cell phone. Theenhanced call processing server 124 answers the call, prompts Sally toselect a Camp-On notification, and to leave a voice message for John(e.g., plays John's voice mail greeting followed by a brief Camp-Onoption, wherein Sally is instructed to press a key, such as the “1” keyif Sally wants to take advantage of the Camp-on option).

State 9.

Sally is interested in a notification so selects the keypress 1 optionon her cell phone 104.

State 10.

The enhanced call processing server 124 receives the dtmf tone 1selection by Sally. The enhanced call processing server 124 stores theCamp-On notification request in account database 700.

State 11.

At the end of the meeting John removes the Do-Not-Disturb feature byselecting a control on his call management App 112 running on hissmartphone 102.

State 12.

The call management application receives John's instruction andtransmits, for example over the data network 128, the request to theenhanced call processing server 124 which receives and manages John'sinbound calls.

State 13.

In this example, the call management App 112 displays an informationalmessage to John that a notification regarding John's availability isgoing to be sent to Sally and provides an option to prevent thenotification from being sent. John takes no action.

State 14.

The enhanced call processing server 124 deactivates the Do-Not-Disturbfeature. The enhanced call processing server 124 further checks thedatabase 700 to see if there are any pending Camp-On notificationsassociated with John's account. The database indicates that there is onepending Camp-On notification.

State 15.

The enhanced call processing server 124 creates a text notificationmessage including John's phone number and sends the text notificationvia the SMSC to Sally. In this example, the text notification includes abranding tag line (e.g., CampOn from CallWave! or CallNow! fromCallWave).

State 16.

Sally receives the text notification from the enhanced call processingserver 124 via the SMSC.

State 17.

Sally selects the call button on her cell phone 104 and the cell phone104 originates a return call to John's virtual number, which wasincluded in the text notification at State 15. John is not available andthe enhanced call processing server 124 receives the call and completesthe call (not illustrated further in FIGS. 7-8).

With respect to State 1, in another embodiment, John can access a website associated with the enhanced call processing server 124. The usermay log into the web site, and the web site server 600 may display a webpage including a Do-Not-Disturb control, which the user may activate.Optionally, the Do-Not-Disturb feature can be activated by calling anumber associated with the enhanced call processing server andinteracting via dtmf tone commands or voice commands via an InteractiveVoice Response system. Optionally, the Do-Not-Disturb feature isactivated by John calling directly (or through the client App) adesignated “activate” phone number which terminates on an enhanced callprocessing server. John's caller ID is used as an identifier in adatabase lookup to activate the Do-Not-Disturb feature. Optionally, theDo-Not-Disturb feature is activated by the user texting a message to adesignated number or electronic address.

With respect to State 3, optionally there are a number of configurableoptions with respect to a Do-Not-Disturb feature as discussed above(e.g., call screening). Optionally, John configures only a designatedlist of callers which can use the Camp-On feature (that is, they are notpresented the option of notification when John becomes available).Optionally, the Camp-On feature is only offered to callers in John'spersonal contact data base. Optionally, the Camp-On feature is onlyoffered to callers that have called John a number of times in which thenumber of times exceeds a configurable threshold. Optionally, theCamp-On feature is only available to callers within certain times of theday, or days of the week as configured by a system administrator and/orby John (or overridden by John).

With respect to State 5, the enhanced call processing server determineswhether the caller is calling from a device which can receive a textnotification by using for example a LERG database. If the number is awireless number, the system can, for example, infer that the wirelessdevice is text capable as further described above. Optionally, theenhanced call processing server queries one or more databases, (e.g., acontact database) to retrieve an alternative text address (e.g., anemail address) associated with the caller.

With respect to State 8, there are a combination of ways in which toprovide a voice mail greeting and a Camp-On instruction. For example,the system can play the Camp-On instruction followed by the user'sgreeting. Optionally, the system does not prompt the user during thecall, but the control is available to the user (e.g., an unpromptedactive keypress 1). Optionally, the user can speak a command and/orkeypress a dtmf selection on their calling device.

With respect to State 11, the options to deactivate Do-Not-Disturb caninclude some or all of those listed above with respect to State 1.

With respect to State 15, there are a number of ways in which a Camp-Onnotification can be facilitated, including those notification optionsdescribed above (e.g., instant messaging, email notification, callnotification with or without an option presented to Sally to bridge thecall with John, etc).

Thus, as described above, the present invention provides systems andmethods for a callback process that can be used with PSTN systems,wireless stations and the Internet to thereby greatly facilitate callcompletion.

Although this invention has been described in terms of certain preferredembodiments, other embodiments that are apparent to those of ordinaryskill in the art are also within the scope of this invention.

What is claimed is:
 1. A method of processing a call, the method comprising: receiving, at an enhanced services system, a request to activate Do-Not-Disturb on a first phone address, wherein the first phone address is associated with a first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving, at the enhanced services system, call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages, wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting, via a first user interface, to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving, at the enhanced services system, the first notification type request wherein the first notification type request is associated with the first caller and the state of the first user's first phone address, storing the first notification type request in non-transitory memory; receiving, at the enhanced services system, a request to deactivate Do-Not-Disturb on the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting, from the enhanced services system, a first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address.
 2. The method as defined in claim 1, wherein the first phone address is a virtual phone address associated with the first user.
 3. The method as defined in claim 1, wherein modifying the state of the first user's first phone address to the status different than Do-Not-Disturb further comprises modifying the state of the first user's first phone address to Available or Busy.
 4. The method as defined in claim 1, wherein the first notification type is an SMS message.
 5. The method as defined in claim 1, wherein the first notification type is peer-to-peer texting service.
 6. The method as defined in claim 1, the method further comprising: providing a second user interface to the first user for inhibiting transmission of the first notification type.
 7. The method as defined in claim 1, wherein the presentation via the first user interface includes an option for the first caller to press a first key if the first caller wants to receive the first notification type.
 8. The method as defined in claim 1, the method further comprising: receiving, at the enhanced services system, call signaling information associated with a third call from a second caller placed using a second telephonic device, the second call intended for the first user; determining that the Do-Not-Disturb state of the first phone address is deactivated; generating an outbound call to a telephonic device associated with the first user; and bridging the third call with the outbound call.
 9. The method as defined in claim 8, wherein the bridging enables a two-way talk path between the second caller and the first user.
 10. A method of processing a call, the method comprising: providing, via a first user interface presented via a client software application running on a mobile device of a first user, an instruction to configure a Do-Not-Disturb state with respect to a first phone address associated with the first user; receiving, via the client software application, a request from the first user to activate the Do-Not-Disturb state with respect to the first phone address associated with the first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving, at an enhanced services system, call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting via a second user interface to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving, at the enhanced services system, the first notification type request from the first caller via the second user interface, storing the first notification type request in non-transitory memory; receiving, via the client software application, a request to deactivate the Do-Not-Disturb state with respect to the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting, from the enhanced services system, the first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address.
 11. The method as defined in claim 10, wherein the first phone address is a virtual phone address associated with the first user.
 12. The method as defined in claim 10, wherein modifying the state of the first user's first phone address to the status different than Do-Not-Disturb further comprises modifying the state of the first user's first phone address to Available or Busy.
 13. The method as defined in claim 10, wherein the first notification type is an SMS message.
 14. The method as defined in claim 10, wherein the first notification type is peer-to-peer texting service.
 15. The method as defined in claim 10, the method further comprising: providing via the first user interface a control enabling the first user to inhibit the first notification type transmission.
 16. The method as defined in claim 10, wherein the presentation via the second user interface includes an option for the first caller to press a first key if the first caller wants to receive the first notification type.
 17. The method as defined in claim 1, the method further comprising: receiving, at the enhanced services system, call signaling information associated with a third call from a second caller placed using a second telephonic device, the second call intended for the first user; determining that the Do-Not-Disturb state of the first phone address is deactivated; generating an outbound call to the mobile telephonic device associated with the first user; and bridging the third call with the outbound call.
 18. The method as defined in claim 17, wherein the bridging enables a two-way talk path between the second caller and the first user.
 19. The method as defined in claim 10, the method further comprising: downloading the client software application to a mobile device of the first user.
 20. A system comprising: at least one processing device; instructions stored on non-transitory media that when executed by the at least one processing device, cause the processing device to perform operations, comprising: providing, via a first user interface presented via a client software application running on a mobile device of a first user, an instruction to configure a Do-Not-Disturb state with respect to a first phone address associated with the first user; receiving, via the client software application, a request from the first user to activate the Do-Not-Disturb state with respect to the first phone address associated with the first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting, via a second user interface, to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving the first notification type request from the first caller, storing the first notification type request in non-transitory memory; receiving, at the client software application, a request to deactivate the Do-Not-Disturb state with respect to the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting the first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address. 